package com.itany.corejava.code07_面向对象;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年10月31日 16:29
 */
public class Test04_static关键字 {
    public static void main(String[] args) {


        SomeClass.name="admin";
        // 只有静态变量才可以使用类名.属性名
        System.out.println(SomeClass.name);
        // System.out.println(SomeClass.age);//报错

        SomeClass sc=new SomeClass();
        sc.name="jack";//不建议使用这种方式
        System.out.println(sc.name);//不建议使用这种方式

        SomeClass sc2=new SomeClass();
        System.out.println(sc2.name);//不建议使用这种方式
        System.out.println(SomeClass.name);
        //此时的name值为jack
        // 所有对象共同拥有一个静态变量(类变量)
        // 当有对象对静态变量进行赋值操作之后
        // 会覆盖之前的值，此时sc.name或者sc2.name，都相当于 SomeClass.name，值都为jack

    }
}


/*
    使用static修饰的变量，称之为静态变量、类变量，非static修饰的变量称为实例变量
    静态变量：静态变量类的所有对象共有的一个变量, 属于整个类的
    访问方式: 类名.属性名 或者对象名.属性名
    正式开发中,不建议使用对象名.属性名 的方式进行访问
*/
class SomeClass{
    // 全局变量可以是实例变量，也可以是静态变量
    //静态变量，类变量
    static String name;

    //实例变量
    int age;


}